package com.weblog.user.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

/**
 * @author MaoLin Wang
 * @date 2019.9.18
 * 安全配置类
 */
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
    /**
     * authorizeRequests：实现security全注解配置的开端,说明需要的权限
     * 需要的权限分两部分:
     *      一:拦截的路径
     *      二:访问路径需要的权限
     * antMatchers:拦截路径，permitAll表示任何权限都可以使用，直接放行所有
     * anyRequest():任何的请求，authenticated():认证后才能访问
     * .and().csrf().disable()：固定写法，表示使csrf拦截失效
     * @param http
     * @throws Exception
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        /**
         * spring-srcurity这里仅用于加盐加密，拦截使用jwt
         */
        http
                .authorizeRequests()
                .antMatchers("/**").permitAll()
                .anyRequest().authenticated()
                .and().csrf().disable();
    }
}
